home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / Library / +ORC / Orc pac C / HOWTOC1.TXT < prev    next >
Encoding:
Text File  |  2000-05-25  |  22.0 KB  |  430 lines

  1.  
  2.                        HOW TO CRACK, BY +ORC, A TUTORIAL
  3.                                        
  4.    
  5.      _________________________________________________________________
  6.    
  7.    
  8.    
  9.    LESSON C (1) - How to crack, Cracking as an art
  10.      _________________________________________________________________
  11.    
  12.    
  13.    
  14.    [BARCODES] [INSTANT ACCESS]
  15.      _________________________________________________________________
  16.    
  17.    
  18.    
  19.  
  20. [BARCODES]
  21.      First of all, let me stress the importance of cracking in
  22. our everyday life. Cracking it's not just about software, it's
  23. about information, about all patterns of life. To crack is to
  24. refuse to be controlled and used by others, to crack is to be
  25. free. But you must also be yourself free from petty conventions
  26. in order to crack properly.
  27.      You must learn to discerne cracking possibilities all around
  28. yourself, and believe me, the development of this ghastly society
  29. brings every day new codes, protections and concealing
  30. mechanismes.
  31.      All around us grows a world of codes and secret and not so
  32. secret patterns. Codes that are at times so familiar and common
  33. that we do not even notice them any more... and yet they are
  34. there to fool us, and yet they offer marvellous cracking
  35. possibilities.
  36.  
  37.      Let's take as an striking example BARCODES... those little
  38. lines that you see on any book you buy, on any bottle you get,
  39. on any item around you... do you know how they work? If you do
  40. not you may be excused, but you cannot be excused if you never
  41. had the impulse to understand them... crackers are curious by
  42. nature... heirs of an almost extinct race of researchers that has
  43. nothing in common with the television slaves and the publicity
  44. and trend zombies around us. Cracker should always be capable of
  45. going beyond the obvious, seek knowledge where others do not see
  46. and do not venture.
  47.  
  48. [BARCODE HISTORY]
  49.      Let's begin with a little history. Universal Product Code
  50. (UPC) was adopted for commercial use by the grocery industry in
  51. the USA. Among the advantages were a rapid, accurate and reliable
  52. way of entering stock information into a computer and the
  53. possibility to sack a lot of workers and to do more profit. The
  54. early success led to the development of the European Article
  55. Numbering System (EAN), a symbology similar to UPC, that is
  56. widely used in Europe and in the rest of the World. I'll teach
  57. you to crack this one, since I do not -fortunately- live in the
  58. States. Keep in mind, anyway, that there are different barcode
  59. symbologies, each with its own particular pattern of bars. The
  60. UPC/EAN code used on retail products is an all-numeric code; so
  61. is the Interleaved 2 of 5 Code. Code 39 includes upper case
  62. letters, digits, and a few symbols. Code 128 includes every
  63. printable and unprintable ASCII character code. The most new one
  64. is a 2-D code. These are special rectangular codes, called
  65. stacked barcodes or matrix codes. They can store considerably
  66. more information than a standard barcode. They require special
  67. readers which cost more than a standard scanner. The practical
  68. limit for a standard barcode depends on a number of factors, but
  69. 20 to 25 characters is an approximate maximum. For applications
  70. that need more data, matrix codes are used. For example, the next
  71. time you receive a package from United Parcel Service look for
  72. a small square label with a pattern of dots and a small bullseye
  73. in the centre. This is a MaxiCode label, and it is used by UPS
  74. for automatic destination sortition.
  75.      The manufacturer's ID number on the barcode uniquely
  76. identifies products. These numbers are managed by the Uniform
  77. Code Council in Dayton, Ohio for the States and Canada and by the
  78. EAN authority (Internationale Article Numbering Association) in
  79. Bruxelles, for Europe and the rest of the World. The
  80. manufacturer's ID number accounts for some digits of the code,
  81. which leaves other digits to be assigned in any way the producer
  82. wants. He provides retail outlets with a list of his products and
  83. their assigned codes so that they can be entered in the cash
  84. register system. Many codes are NOT on the products and are added
  85. by the supermarkets on the fly, using an internal code schema
  86. that may be non standard. Now it's enough... let's crack.
  87.      BARCODES are the only thing an automated casher needs to see
  88. on a product to calculate its price and automatically catalogate
  89. the sold merchandise... imagine (just imagine it :=) coz it would
  90. be extremely illegal to act in this way) somebody would fasten
  91. an adhesive home-made codebar label direct on the top of the
  92. supermarket/mall/retail store label, say on a bottle of Pomerol
  93. (that's a very good but unfortunately very expensive french
  94. wine).
  95.      The new label would mean for the casher something like
  96. "cheap wine from Bordeaux, France, cost so and so, everything
  97. it's OK, do not worry"... do you think that anybody would come
  98. to the idea that there is something wrong with the label, with
  99. the bottle or with you? I have been codebaring for years and had
  100. only once a problem, coz my printer was running out of ink and
  101. the scanner in the supermarket could not read it... so what? Act
  102. uninterested, always wear jackets of the utmost quality, shetland
  103. pullovers and beautiful expensive shoes... (all articles that you
  104. may codebar too, by the way), in this society appearance and look
  105. count much more than substance and knowledge... LET'S USE THIS
  106. TO OUR ADVANTAGE! Nobody will ever come to the idea that you may
  107. actually really know the working of the scheme... coz codebar is
  108. pretty complicated and not exactly exceptionally public. On the
  109. Web there are a lot information about it, but most of them are
  110. useless, unless you know how to search most of the time you'll
  111. find only sentences like this one:
  112.           "The calculated check digit is the twelfth and final
  113.           digit in the U.P.C.code. It is calculated based on a
  114.           specific algorithm, and is necessary to ensure that
  115.           the number is read or key-entered correctly."
  116.  
  117. But good +ORC will now explain you everything you need to crack:
  118.  
  119. [THE 13 BAR "CODES"]
  120. Each barcode label has 13 values, from #0 to #12 (that's the EAN
  121. code, the UPC american one has only 12, from #0 to #11).
  122.      #0 and #1 indicate the origin of the product.
  123.      #2 to #11 give the article code
  124.      #12 (the last and 13th one) is a checksum value, that
  125.      verifies the validity of all the other numbers.
  126. How is it calculated? #12 is calculated in 4 steps
  127.      VALUE A:  You sum odd position numbers (#0+#2+#4+#6+#8+#10)
  128.      VALUE B:  You sum even position numbers and multiply by 3
  129.                ((#1+#3+#5+#7+#9+#11)*3)
  130.      VALUE C:  You sum value A and value B
  131.      VALUE D:  You mod value C (you divide by 10 and only keep
  132.      the remaining units, a very widespread checking scheme as
  133.      you'll see in the software part of this lesson)
  134.      If the result is not zero, you subtract it from 10.
  135. Now look at a barcode label, get some books or other barcoded
  136. items and *watch* it...
  137. Bar codes are supposed to have "quiet zones" on either side of
  138. the symbol. Quiet zones are blank areas, free of any printing or
  139. marks,typically 10 times the width of the narrowest bar or space
  140. in the bar code. Failure to allow adequate space on either side
  141. of the symbol for quiet zones can make it impossible to read the
  142. bar code.
  143.  
  144. On the barcode there are two "borders", left and right, and a
  145. "middle" longer line. These three lines are longer than the
  146. others and are used to "regulate" the scanner to whatever
  147. dimension has been used for the barcode.
  148. #0 dwells left of the first (left) border and has a special
  149. meaning, the other 12 numbers are written "inside" the code and
  150. are divided in two "groups" by the middle bar.
  151. Each value is coded through SEVEN bars: black=1 and White=0.
  152. These form two couples of "optic" bars of different widths.
  153. We come now to the "magic" part: In order to bluff the
  154. simpletons, barcode uses three different SETS of characters to
  155. represent the values 0-9. This should make it impossible for you
  156. to understand what's going on, as usual, in this society, slaves
  157. should not need to worry with the real functioning of things.
  158.    Here are the graphic codes of the three graphic sets:
  159.  
  160.      CODE A            CODE B (XOR C)    CODE C (NOT A)
  161. 0:  0001101   (13)     0100111   (39)    1110010   (114)
  162. 1:  0011001   (25)     0110011   (51)    1100110   (102)
  163. 2:  0010011   (19)     0011011   (27)    1101100   (108)
  164. 3:  0111101   (61)     0100001   (33)    1000010   (066)
  165. 4:  0100011   (35)     0011101   (29)    1011100   (092)
  166. 5:  0110001   (49)     0111001   (57)    1001110   (078)
  167. 6:  0101111   (47)     0000101   (05)    1010000   (080)
  168. 7:  0111011   (59)     0010001   (17)    1000100   (068)
  169. 8:  0110111   (55)     0001001   (09)    1001000   (072)
  170.  
  171. 9:  0001011   (11)     0010111   (23)    1110100   (116)
  172.  
  173. Borders:       101
  174. Centre:        01010
  175.  
  176. - The C graphic set is a "NOT A" graphic set.
  177. - The B graphic set is a "XOR C" graphic set.
  178. - each value has two couples of bars with different widths
  179.  
  180.  Now watch some labels yourself... see the difference between the
  181. numbers left and the numbers right? The first "half" of the
  182. barcode is coded using sets A and B, the second "half" using set
  183. C. As if that were not enough, A and B are used inside the first
  184. "half" in a combination that varies and depends from value #0,
  185. following 10 different patterns:
  186.               #1   #2   #3   #4   #5  #6
  187.    0          A    A    A    A    A    A
  188.    1          A    A    B    A    B    B
  189.    2          A    A    B    B    A    B
  190.    3          A    A    B    B    B    A
  191.    4          A    B    A    A    B    B
  192.    5          A    B    B    A    A    B
  193.    6          A    B    B    B    A    A
  194.    7          A    B    A    B    A    B
  195.    8          A    B    A    B    B    A
  196.    9          A    B    B    A    B    A
  197.  
  198. "Ah! Stupid buyer will never understand why the same values gives
  199. different bars! Nothing is as reliable as barcodes!" :=)
  200.  
  201. Let's take as example the codebar for Martini Dry:
  202. BARCODE:    8 0 00570 00425 7
  203. Let's see: we have a 8 0 0 = booze
  204. Then a 000570 as ABABBA and a 004257 as C
  205. "Even" sum: 8+0+5+0+0+2 = 15 (even sum)
  206. Then a 0+0+7+0+4+5= 16 and 16 *3 = 48 (odd sum)
  207. Then a 15+48=63
  208. 63 === 3
  209. 10 - 3 = 7 = checksum
  210. Pattern = 8 = ABABBA CCCCCC
  211.  
  212. OK, one more example: Osborne Windows programming series Volume
  213. 2 General purpose API functions (always here on my table)...
  214. BARCODE: 9 7 80078 81991 9
  215. Let's see: we have a 9 7 8 = book
  216. Then a 780078 as ABBABA and a 819919 as C
  217. "Even" sum: 9+8+5+8+8+4 = 42 (even sum)
  218. Then a 7+1+5+2+4+4= 23 and 23 * 3 = 69 (odd sum)
  219. Then a 42+69=111
  220. 111 === 1
  221. 10 - 1 = 9 = checksum
  222. Pattern = 9 = ABBABA
  223.  
  224. Well... what's the point of all this?
  225. The point, my pupils, is that who DOES NOT KNOW is taken along
  226. on a boat ride, who KNOWS and LEARNS can use his knowledge in
  227. order to try to beat blue and black the loathsome consumistic
  228. oligarchy where we are compelled to live. Try it out for
  229. yourself... if you crack correctly and wisely your supermarket,
  230. mall and library bills will be cut to almost zero.
  231.      Write a small program to print whichever codebar you fancy
  232. (or whichever your mall uses) in whichever size on whichever sort
  233. of label you (or better your targets) fancy... it's quickly done
  234. with Visualbasic or Delphy... but you'll not find much on the Web
  235. Alternatively you could also write, as I did long ago, a short
  236. c program in dos, using a modified upper char set... and there
  237. you are, have labels... see the world.
  238.      A small word of caution... crack only ONE item at time and
  239. try it out first with the SAME label for the same product... i.e.
  240. the correct code for that item, but on your own label. If it goes
  241. through your program works good, if not, nobody will ever be able
  242. to harm you. Anyway it never happens anything, never: the bar
  243. code reading equipments have great tolerance, coz the scanners
  244. must be able to recognize barcodes that have been printed on many
  245. different medias. You should choose labels similar to the ones
  246. effectively used only in order not to arise human suspects, coz
  247. for all the scanner itself cares, your label could be pink with
  248. green stripes and with orange hand-written, numbers. Mind you,
  249. we are still just academically imagining hypothetical situations,
  250. coz it would be extremely illegal to act in such an inconsiderate
  251. manner.
  252.      CRACKING POWER! It's true for barcodes, for Telecom bills,
  253. for Compuserve accounts, for Amexco cards, for banking cheques
  254. (do you know what MICR is? Magnetic Ink Character Recognition...
  255. the stylized little printing on the lower left of new cheques...
  256. there is a whole cracking school working on it), for registration
  257. numbers... you name it, they develope it, we crack it...
  258.      Begin with barcodes: it's easy, nice and pretty useful! Live
  259. in opulence, with the dignity and affluence that should always
  260. distinguish real crackers. Besides... you should see the
  261. assortment of 'Pomerols' in my "Cave-a-vin" :=)
  262.  
  263. [INSTANT ACCESS]
  264.      The (c) Instant access routines are a commercial protection
  265. scheme used to "unlock" complete commercial applications that
  266. have been encrypted on CD-
  267. ROMs which are distributed (mostly) through reviews.
  268.      This is an ideal cracking target: it's commercial software,
  269. complete, uncrippled and of (relatively) prominent quality, that
  270. you can get in tons for the price of a coke. Obviously this kind
  271. of protection represents an ideal subject for our lessons. This
  272. fairly intricate protection scheme has not yet been cracked by
  273. anybody that I am aware of, anyway not publicly, therefore it's
  274. an ideal candidate for a "strainer" to my university. I'll teach
  275. you here how to crack it in three lessons, C.1, C.2 and C.3. I warn
  276. you... it's a difficult cracking session, and this protection
  277. represents quite an intellectual challenge. But if you are
  278. seriously interested in our trade you will enjoy these lessons
  279. more than anything else.
  280.      This cracking is intended as an "assignment" for my +HCU
  281. "cracking university": you'll find inside lessons C.1 and C.2 a
  282. relatively deep "introduction" to Instant access cracking. This
  283. will teach you a lot anyway, and spare you hours of useless
  284. roaming around, bringing you straight to the cracking point. But
  285. I'll release the third part of this session, with the complete
  286. solution (lesson C.3) on the Web only in october 1996, not a day
  287. before. All the students that would like to apply to the Higher
  288. Cracking University, opening on the web 01/01/1997, should work
  289. in July, August and September (three months is more than enough
  290. time) on this assignment. They should crack completely the
  291. instant access scheme and send me their solutions, with a good
  292. documentation of their cracking sessions, before 30/09/1996
  293. (WATCH IT! You can crack this scheme in -at least- three
  294. different paths, be careful and choose the *best* one. WATCH IT!
  295. Some of the informations) in lesson C.1 and C.2 are slightly incorrect:
  296. check it!).
  297. There are four possibilities:
  298. 1)   The candidate has not found the crack or his solution is
  299.      not enough documented or not enough viable... the candidate
  300.      is therefore not (yet) crack-able, he will not be admitted
  301.      to the +HCU 1997 curses, better luck in 1998;
  302. 2)   The cracking solution proposed by the candidate is not as
  303.      good as mine (you'll judge for yourself in october) but it
  304.      works nevertheless... he'll be admitted at the 1997
  305.      courses;
  306. 3)   The cracking solution of the candidate is more or less
  307.      equal to mine, he'll be admitted, personally monitored, and
  308.      he'll get all the material he needs to crack on higher
  309.      paths;
  310. 4)   The cracking solution of the candidate is better than mine,
  311.      he'll be admitted, get all the material he wishes and asked
  312.      to teach us as well as study with us: "homines, dum docent,
  313.      discunt".
  314.  
  315. [Cracking Instant access]
  316.      The user that wants to "unlock" a software application
  317. protected with (c) Instant Access must enter first of all a
  318. REGISTRATION number string, which through a series of
  319. mathematical manipulations gives birth to a special "product"
  320. code. On the basis of this "product code" the user is asked to
  321. phone the commercial protectors (and pay) in order to get a
  322. special "unlock code" that will allow him to decrypt the relevant
  323. software.
  324.      This kind of "passnumber" protection routines are widely
  325. used for software unlocking, BBS access, server access, backdoor
  326. opening and many other protection schemes. We have already seen
  327. password cracks in different lessons of this tutorial (in
  328. particular Lessons 3.1 and 3.2 for DOS and Lessons 8.1, 8.2 and
  329. 9.1 for WIN) albeit on a more simplistic scale: there it did
  330. mostly not matter very much *HOW* you passed the protection: once
  331. passed, you could have access to the application. This is not the
  332. case with (c) Instant Access. Face it: it's a little boring, but
  333. important that you learn how to defeat intricate protection
  334. routines (you'll meet them often in the next years) and I believe
  335. that the following example will give you a "feeling" for the
  336. right cracking approach.
  337.      In this case we must not only "crack" this protection scheme
  338. but also study it thoroughly in order to achieve our blessed
  339. aims. This is a very good exercise: reverse disassembling will
  340. teach you a lot of little tricks that you'll be able to use in
  341. your other future cracking sessions.
  342.      Instant access (c) is a exceptionally widespread protection
  343. scheme, and it should be relatively easy for you to gather some
  344. encrypted software that has been protected with this method...
  345. *DO IT QUICKLY!!* After the Web publishing of this lessons (I am
  346. sending C.1 to 8 pages and 4 usenet groups on 25/06/1996) this
  347. protection is obviously as dead as a Dodo. The "Accessors" guys
  348. will have to conceive something smarter if they want to keep
  349. selling "protections" to the lamer producers of "big" software.
  350.      BTW, if you are reading this and are working for some
  351. commercial "protection" company, consider the possibility to
  352. double cross your masters! Deliver me anonymously all the future
  353. projects you are working on! That will amuse me, speed up the
  354. advent of a true altruistic society and earn you the respect of
  355. the better part of humanity.
  356.      As I said, many "huge" application are still protected with
  357. this "Instant access" system. I have personally bought at least
  358. 7 or 8 "second hand" CD-ROMs packed full with Microsoft, Lotus,
  359. Norton, Symantec, you name it, applications all "protected"
  360. through this crap. The cost of this bunch of CD-ROMs was the
  361. equivalent of a bottle of Dry Martini, maybe less. The same
  362. software is sold, unlocked, to zombies and lusers for ludicrous
  363. amounts of money.
  364.      Never buy CD-ROMs magazines when they appear! Be cool! Buy
  365. them two or three months after the publishing date! Buy
  366. "remainders" or "second hand" CD-ROM magazines "at kilo price"...
  367. Come to think of it, never buy *anything* when it appears or when
  368. some (paid) advertiser tells you to... remember that "trends",
  369. "vogues", "fashions" and "modes" are only different names for the
  370. whips that drill and chain the dull-witted slaves of this
  371. loathsome society: "clever crackers consider cool, crack cheap,
  372. cheat customary culture" (a rhetorical figure: an "Alliteration".
  373. To defend yourself learn rhetoric... it's a more powerful and
  374. more useful weapon than Kung-fu).
  375.      The "triple" password protection routine in (c) Instant
  376. Access is very interesting from a cracker point of view. It's a
  377. relatively complex scheme: I'll teach you to crack it in two
  378. phases: First of all you must find the "allowed" registration
  379. code, the one that "ignites" the "product code". We must crack
  380. and understand this re_code first if we want to crack the rest.
  381.      Just for the records, I am cracking here (c) Action Instant
  382. access version 1.0 (CD-ROM found on a old copy of "Personal
  383. Computer World" of August 1994, packed full with encrypted Lotus,
  384. Symantec, Claris and Wordperfect applications. Just to be sure
  385. I crosschecked my results with another CD-ROM which also has
  386. applications protected with (c) Instant Access: Paragon
  387. Publishing's PC OFFICE: the protection scheme remains the same).
  388.  
  389. I am focusing for this lesson on the cracking of the specific
  390. protection for the encrypted Symantec's Norton Utilities v.8.0.
  391.      Please refer to the previous lessons for the basic
  392. techniques used in order to find the protection routine inside
  393. our babe... for "low" cracking purposes you -basically- type a
  394. number (in this case, where the input gets 10 numbers, we'll use
  395. "1212-1212-12"), do your search inside the memory (s 30:0
  396. lffffffff "your_string") and then set memory breakpoints on all
  397. the relevant memory locations till winice pops (I know, I know,
  398. buddies... there are more effective ways... but hold your mouth:
  399. for now we'll keep them among us: let's make things a little
  400. harder for the protectionists who read this... Besides: the old
  401. approach works here flawlessly). After getting the Registration
  402. window on screen the Winice standard procedure is:
  403.  :task                        ; how
  404.  :heap IABROWSE               ; where & what
  405.  :hwnd IABROWSE               ; get the Winhandle
  406.  :bpx [winhandle] WM_GETTEXT  ; pinpoint code
  407.  :bpx GetProcAddress          ; in case of funny routines
  408.  :dex 0 ds:dx                 ;          let's see their name
  409.  :gdt                         ; sniff the selectors
  410.  :s 30:0 lffffffff "Your_input_string" ; search in 4 giga data
  411.  :bpr [all memory ranges for your string that are above 80000000]
  412. and so on.  (continued in lesson C.2)
  413.  
  414. Well, that's it for this lesson, reader. Not all lessons of my
  415. tutorial are on the Web.
  416.      You 'll obtain the missing lessons IF AND ONLY IF you mail
  417. me back (via anon.penet.fi) with some tricks of the trade I may
  418. not know that YOU discovered. Mostly I'll actually know them
  419. already, but if they are really new you'll be given full credit,
  420. and even if they are not, should I judge that you rediscovered them
  421. with your work, or that you actually did good work on them,
  422. I'll send you the remaining lessons nevertheless. Your
  423. suggestions and critics on the whole crap I wrote are also
  424. welcomed.
  425.  
  426.    
  427.    E-mail +ORC
  428.    
  429.    +ORC an526164@anon.penet.fi
  430.